package com.javabasestage2.Object.ObjectSenior.Abstract;

public class Abstract01 {
    /**当父类方法不能确定的时候，就需要【abstract关键字】来修饰 该方法*/
    //使用场景一般在与设计模式
    // 抽象方法没有【方法体】
}


abstract class  animal {
    public String name;

    public animal(String name) {
        this.name = name;
    }

//思考:这里 eat()方法你实现了，其实没有什么意义
    //即: 父类方法不确定性的问题(你不知道用这个方法到底能干什么，但是未来有可能会用到)
    // -->考虑将该方法设计为抽象(abstract)方法，我的理解时【待定的方法】
    // 所谓抽象方法就是没有实现的方法
    // 没实现方法就是指，没有方法体  ===========抽象方法不能有方法体============
    // 当一个类存在抽象方法时，需要将该类声明为abstract类
//    public void eat() {
//        System.out.println("这是一个动物，但是不知道吃什么");
//    }
      public abstract void eat();//将该类声明为abstract类
}